package android.androidcontrol;

import android.androidcontrol.IChangeStatusBarCallback;
import android.androidcontrol.IDialPhoneNumberBarCallback;
import android.androidcontrol.ISystemSwitchCallback;

interface IAndroidControlService
{
    const String SERVICE_NAME = "androidcontrol_service";

    const int ANDROID_STARTUP_STATE_LOADING = 1;
    const int ANDROID_STARTUP_STATE_RUNNING = 2;
    const int ANDROID_STARTUP_STATE_ERROR   = 3;

    const int HMI_IN_LINUX_SYSTEM   = 1;
    const int HMI_IN_ANDROID_SYSTEM = 2;

    const int ENTRY_POINT_ANDROID_FULL_SCREEN_WITH_STATUS_BAR     = 1;
    const int ENTRY_POINT_ANDROID_FULL_SCREEN_WITHOUT_STATUS_BAR  = 2;
    const int ENTRY_POINT_ANDROID_LAUNCHER                        = 3;
    const int ENTRY_POINT_NAVIGATION_MAIN                         = 4;
    const int ENTRY_POINT_GENERIC_BACK                            = 5;
    const int ENTRY_POINT_HOME_SCREEN                             = 6;
    const int ENTRY_POINT_GRID_MENU                               = 7;
    const int ENTRY_POINT_PHONE_MAIN                              = 8;
    const int ENTRY_POINT_PHONE_SETUP                             = 9;
    const int ENTRY_POINT_PHONE_SETUP_SELECTION_VIEW              = 10;
    const int ENTRY_POINT_TUNER_ENTRY                             = 11;
    const int ENTRY_POINT_TUNER_FM_MAIN                           = 12;
    const int ENTRY_POINT_TUNER_AM_MAIN                           = 13;
    const int ENTRY_POINT_TUNER_FM_SETUP                          = 14;
    const int ENTRY_POINT_TUNER_AM_SETUP                          = 15;
    const int ENTRY_POINT_MEDIA_ENTRY                             = 16;
    const int ENTRY_POINT_MEDIA_BT_MAIN                           = 17;
    const int ENTRY_POINT_MEDIA_JUKEBOX_MAIN                      = 18;
    const int ENTRY_POINT_MEDIA_SETUP                             = 19;
    const int ENTRY_POINT_PICTURE_VIEWER_MAIN                     = 20;
    const int ENTRY_POINT_CAR_MAIN                                = 21;
    const int ENTRY_POINT_CAR_SETUP_MAIN                          = 22;
    const int ENTRY_POINT_FAS_HOME                                = 23;
    const int ENTRY_POINT_CLIMATE_DESKTOP                         = 24;
    const int ENTRY_POINT_SOUND_EQ                                = 25;
    const int ENTRY_POINT_APP_CONNECT_DESKTOP                     = 26;
    const int ENTRY_POINT_USER_MANAGEMENT_MAIN                    = 27;
    const int ENTRY_POINT_SYSTEM_SETUP_MAIN                       = 28;
    const int ENTRY_POINT_SYSTEM_SETUP_SDS                        = 29;
    const int ENTRY_POINT_SYSTEM_SETUP_GENERAL                    = 30;
    const int ENTRY_POINT_SYSTEM_SETUP_EXTERNAL_APPS              = 31;
    const int ENTRY_POINT_SYSTEM_SETUP_WLAN_CLIENT                = 32;
    const int ENTRY_POINT_SYSTEM_SETUP_WLAN_DESKTOP_HOTSPOT_MAIN  = 33;
    const int ENTRY_POINT_CONNECTION_MANAGER                      = 34;
    
    void setStartupState(int state);
    int getCurrentHMISystem();
    void switchToAndroid(int androidview);
    void switchToLinux(int linuxview);
    void registerSystemSwitchCallback(in ISystemSwitchCallback callback);
    void unregisterSystemSwitchCallback(in ISystemSwitchCallback callback);
    void changeStatusBar(int mode, in IChangeStatusBarCallback callback);
    void dialPhoneNumber(String number, in IDialPhoneNumberBarCallback callback);
}
